/*
 * Copyright (C) 2018 Logos Technology Ltd.
 */

package com.logos.tool.location;

/**
 * @author Young Ken interface location
 */
public interface ILocation {

    /**
     * Get the estimated accuracy of this location, the  in M.
     *
     * @return the current estimated accuracy
     */
    float getAccuracy();

    /**
     * Get the altitude, in M.
     *
     * @return the current altitude
     */
    double getAltitude();

    /**
     * Get the latitude, in degrees.
     *
     * @return the current latitude
     */
    double getLatitude();

    /**
     * Get the longitude, in degrees.
     *
     * @return the current longitude.
     */
    double getLongitude();

    /**
     * Get the speed if it is available, in M/S over ground.
     *
     * @return if the device does have a speed then 0 returned
     */
    float getSpeed();

    /**
     * Get the positioning time.
     *
     * @return time of fix, in milliseconds since January 1, 1970.
     */
    long getTime();

    /**
     * Get the effective number of satellites.
     *
     * @return number of satellites
     */
    int getSatellites();

    /**
     * get address
     *
     * @return String
     */
    String getAddress();

    /**
     * 获取街道
     *
     * @return string
     */
    String getStreet();

    /**
     * 获取区
     *
     * @return string
     */
    String getDistrict();

    /**
     * 获取省名
     *
     * @return string
     */
    String getProvince();

    String getCity();

    int getTrustedLevel();
}
